#pragma once

#include <GraphicsBaseItemData.h>

class GraphicsBaseOperation : public QObject
{
	Q_OBJECT
public:
	enum OperationType
	{
		MoveOperation_Enum,
		RotateOperation_Enum,
		ScaleOperation_Enum,
		StretchOperation_Enum
	};
public:
	GraphicsBaseOperation(OperationType type, GraphicsBaseItemData& itemData, QObject* parent = nullptr);

	OperationType getOperationType()const { return m_type; }
signals:
	// 到达最大边界
	void sigReachMaxSize();
protected:
	GraphicsBaseItemData& m_itemData;
	const OperationType m_type;
};

using GraphicsOperationType = GraphicsBaseOperation::OperationType;
